Semiconductor memory devices are now used in a wide variety of electronic systems ranging from computers, to telecommunications hardware, to consumer appliances. Generally speaking, there are two types of semiconductor memory: volatile and non-volatile. Volatile memories require power in order to maintain stored information. Examples of volatile memory include Random Access Memory (RAM), Static RAM (SRAM), Dynamic RAM (DRAM), Double Data Rate RAM (DDR RAM), etc. Conversely, Non-Volatile Memories (NVMs) are capable of retaining stored information even when not powered. Examples of Non-Volatile Memory (NVM) include “flash” memory, Read-Only Memory (ROM), Erasable Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), etc.
To illustrate the operation of a modern semiconductor memory device, consider a flash memory. Flash memories store information in arrays of memory cells, which include floating-gate transistors. Each memory cell has a floating-gate transistor, and each transistor has two gates. The first gate serves as a control gate, and the second gate (called the “floating gate”) is interposed between the control gate and the transistor's channel. The floating gate is electrically insulated from the rest of the transistor (hence the name “floating”), and thus capable of holding an electrical charge for long periods of time. When the floating gate holds such a charge, the electric field of the control gate becomes altered, which in turn modifies the threshold voltage of the transistor.
During a memory read operation, a voltage is applied to the control gate and the transistor's channel's conductivity is tested. The electric current through the transistor's channel is then sensed, for example, using a sense amplifier or the like. Specifically, the sense amplifier may compare a reference current with the memory cell's current. If the reference current is greater than the memory cell's current, the sense amplifier may determine that the memory cell is storing a first logic value (e.g., “1”). Conversely, if the reference current is smaller than the memory cell's current, the sense amplifier may determine that the memory cell is holding a second logic value (e.g., “0”).